package cn.etg.day05;

import java.util.HashMap;
import java.util.Map;

/**
 * 有下列字符串:
 * 销售:张三;财务:李四;销售:王五;财务:赵六;程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice
 * 分析上述字符串然后统计每个职位总共多少人?
 * 使用Map保存统计的结果，其中key:职位,value为该职位人数
 * 然后分别输出各职位的名称(keySet),各职位人数(entrySet)
 * @author Xiloer
 *
 */
public class Test05 {
    public static void main(String[] args) {
        // 初始化字符串
        String data = "销售:张三;财务:李四;销售:王五;财务:赵六;程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice";

        // 使用Map保存统计的结果
        Map<String, Integer> positionCount = new HashMap<>();

        // 分析字符串并统计每个职位的人数
        String[] entries = data.split(";");
        for (String entry : entries) {
            String[] parts = entry.split(":");
            if (parts.length == 2) {
                String position = parts[0];
                Integer count = positionCount.getOrDefault(position, 0);
                positionCount.put(position, count + 1);
            }
        }

        // 输出各职位的名称(keySet)
        System.out.println("各职位名称：");
        for (String position : positionCount.keySet()) {
            System.out.println(position);
        }

        // 输出各职位人数(entrySet)
        System.out.println("各职位人数：");
        for (Map.Entry<String, Integer> entry : positionCount.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}
